Computer disk drives contain media that store data. The media typically are multiple platters that magnetically store the data. FIG. 1 illustrates an example of a platter 100. Platter 100 contains embedded servo fields, gaps or wedges S1-S4 that extend radially from aperture 110. Typically, there are more servo fields than shown in FIG. 1 and the servos do not have to be aligned. Platter 100 also includes zones Z1 and Z2 where zone Z1 is defined by aperture 110 and circumference 115. Zone Z2 is defined by circumferences 115 and 120. Typically, each zone contains multiple tracks that are each divided into multiple sectors. As shown, zones Z1 and Z2 each include one track where the track of zone Z1 is divided into sectors 1-6 and the track of zone Z2 is divided into sectors 1-11.
Servo fields S1-S4 contain data that is pre-written during the manufacture of the disk drive that contains the platter. The servo data may include the location of the specific servo field and the track of the platter. Servo fields S1-S4 are used to position the heads of the disk drive for read/write operations. Data are stored on platter 100 between servo fields S1-S4 in the sectors. It is very common for at least one sector on platter 100 to be split into one or more fragments by a servo field.
The data is recorded in a density defined as bits-per-inch (BPI). The BPI remains the same over the entire area of platter 100. Tracks located radially farther from aperture 110 than other tracks will have a greater length and will, therefore, be able to store more data. To exploit this increased storage capability, either the disk rotation speed must be increased while the data read/write rate is held constant or the disk rotation speed is maintained at a constant while the data read/write rate is increased. Since the former is impractical, the latter has been chosen for conventional disk drives. Specifically, the data read/write rate is increased as the data is stored farther from aperture 110. However, due to certain considerations, this rate is increased only for each zone, i.e., the data read/write rate for all the tracks in a zone is the same.
As platter 100 rotates, certain pulses are provided to a disk controller. A sector pulse is provided at the beginning of each sector. A servo pulse is typically provided during or at the end of a servo field or wedge. An index pulse is provided once every platter revolution.
Associated with disk drive multi-track transfers are factors such as physical (i.e., mechanical) latency and instruction execution speed by a local processor. To compensate for the physical latency and instruction execution, a built-in track skew is provided. The skew is the amount of sectors it takes to seek to a new track and settle on that track so that a transfer can occur.
Track skew can be as high as twenty percent of the time for a complete platter revolution. More track skew requires more time to provide a multi-track transfer.
Physical latency includes the time required for a head to settle on a track when switching between heads. After manufacture of the disk drive, the heads move relative to each other through decreased mechanical tolerances or temperature. This movement causes uncertainty as to the position of the heads. The decreased mechanical tolerance can be of such magnitude that the heads can be on different tracks.
Physical latency also includes the time required to provide current to the head actuator to move the head. Furthermore, typically at least two servo pulses are required to determine that a head is on the correct track. Seek performance results determine the actual track skew, which results are from tests performed by the disk drive manufacturer. The disk drive is then formatted accordingly.
From the instruction execution aspect of a multi-track transfer, a microprocessor is interrupted at the end of each track. The microprocessor then communicates with the servo control to seek to the next track of the cylinder (i.e., switch heads). Once the seek is performed, a disk formatter is programmed to start transferring from a target physical sector address of that next track. Furthermore, there is a non-deterministic time latency due to microprocessor arbitration and processing interrupts, and physical execution time of the interrupt.
In the process of a transfer, there is a risk that the disk channel may be "starved" if the end-of-track interrupt is not timely executed. The risk is a revolution latency may be incurred. For example, a five microsecond delay in the microprocessor to service an interrupt may cause a revolution penalty. This in turn may cause greater than a five millisecond time penalty in performance. Thus, there is a critical time issue for servicing interrupts.
A need exists for a method of multi-track transfers that minimizes microprocessor firmware overhead and reduces the amount of track skew. The present invention meets this need.